---
title: clsCaseCostManager
summary: API reference for clsCaseCostManager.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# clsCaseCostManager

`clsCaseCostManager` loads and saves the litigation-expense (case cost) collection for the current legal case. Unlike most sibling managers, it supplies its own `IsDirty`/`IsValid`/`Save` overrides rather than relying solely on the inherited `clsBusinessBase` dispatch, giving it independent control over dirty-tracking and validation for the case-cost collection. It inherits `LegalManagerBase` (this library) → `ClaimAppManager` (`SAIF.Application.Claim`).

## Purpose
- Load the case cost (litigation expense) collection for the current legal case.
- Independently determine dirty/valid state for the case-cost collection via custom `IsDirty`/`IsValid` overrides, rather than delegating entirely to the inherited base behavior.
- Save case-cost edits through a custom `Save` override.

## Context
- Namespace: `SAIF.Application.Claim.Legal`
- Assembly/package: `SAIF.Application.Claim.Legal.dll` (embedded library, referenced by the `Legal` web front end)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New(inDatabase, inSecurityPrincipal)` | `Public Sub New(inDatabase As String, inSecurityPrincipal As clsSecurityPrincipal)` | Constructs the manager for the given database context and authenticated principal, calling into `LegalManagerBase.New`. |
| `CaseCosts` | `Public ReadOnly Property CaseCosts As clsCaseCostCollection` | Exposes the litigation-expense collection for the current legal case. |
| `IsDirty` | `Public Overrides ReadOnly Property IsDirty As Boolean`* | Reports whether any case-cost row has pending changes, computed independently from the inherited base implementation. |
| `IsValid` | `Public Overrides ReadOnly Property IsValid As Boolean`* | Reports whether the case-cost collection currently satisfies validation rules, computed independently from the inherited base implementation. |
| `Save()` | `Public Overrides Function Save() As Boolean`* | Persists pending case-cost edits using this manager's own save logic rather than the base `clsBusinessBase.Save()` path alone. |

## Behavioral notes
- The custom `IsDirty`/`IsValid`/`Save` overrides mean this manager does not rely purely on the inherited `clsBusinessBase` state-tracking behavior documented on `LegalManagerBase`; callers should treat this manager's own dirty/valid state as authoritative for case costs*.

## Constraints and usage notes
- Because `Save()` is overridden, any custom pre/post-save behavior for case costs lives entirely in this class rather than in shared `LegalManagerBase` hooks**.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Application.Claim.Legal\LegalNet\clsCaseCostManager.vb`
